﻿using System;
using System.Collections.Generic;

using System.Text;

namespace DoxygenBrowser.Common.Model
{
    public class TokenIdentifier
    {
        public const string CONST_CL = "cl";
        public const string CONST_CLASS = "cl";
        public const string CONST_CLASS_MEMBER = "clm";
        public const string CONST_CLM = "clm";
        public const string CONST_DATA = "data";
        public const string CONST_ECONST = "econst";
        public const string CONST_EVENT = "event";
        public const string CONST_FFUNC = "ffunc";
        public const string CONST_FILE = "file";
        public const string CONST_FUNC = "func";
        public const string CONST_INTF = "intf";
        public const string CONST_INTFM = "intfm";
        public const string CONST_MACRO = "macro";
        public const string CONST_PROPERTY = "property";
        public const string CONST_TDEF = "tdef";
        public const string CONST_TMPLT = "tmplt";



        private string _name;
        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }

        private string _apiLanguage;
        public string APILanguage
        {
            get { return _apiLanguage; }
            set { _apiLanguage = value; }
        }

        private string _type;
        public string Type
        {
            get { return _type; }
            set { _type = value; }
        }

        private string _scope;
        public string Scope
        {
            get { return _scope; }
            set { _scope = value; }
        }

        public string FullName
        {
            get
            {
                string fullName = string.Empty;

                fullName = string.Empty;
                if (!string.IsNullOrEmpty(Scope))
                {
                    fullName = Scope + "::";
                }
                fullName += Name;

                return fullName;
            }
        }
    }
}